package com.webautotest.tests.common;

import org.openqa.selenium.chrome.ChromeDriver;

import java.time.Duration;

public class CommonDriver {
        // 使用双检锁来进行懒汉式单利模式的创建
        private static volatile ChromeDriver chromeDriver=null; // volatile保证内存的可见性与指定有序性（不能保证原子性）
        public static ChromeDriver getChromeDriver(){
            if (chromeDriver==null){
                synchronized (CommonDriver.class){
                    if (chromeDriver==null){
                        chromeDriver=new ChromeDriver();
                        // 添加隐式等待
                        chromeDriver.manage().timeouts().implicitlyWait(Duration.ofSeconds(5));
                    }
                }
            }
//            try {
//                chromeDriver.manage().timeouts().pageLoadTimeout(Duration.ofSeconds(10));
//            }catch (Exception e){
//                System.out.println("页面加载过慢，手动停止");
//            }
            return chromeDriver;
        }

}
